package com.jml.二期.HashMap003;

import java.util.HashMap;

public class Test {

    public static void main(String[] args) {
        HashMap<String, String> map = new HashMap<String, String>();
        map.put("a", "jml");
        // Jml7HashMap<String, String> stringStringJml7HashMap = new Jml7HashMap<String, String>();
        // stringStringMayikt7HashMap.put("a","")
        // HashMap<String, String> stringStringHashMap = new HashMap<String, String>();
        // HashMap 与HashTtable有啥区别 线程安全问题
        // HashMap
        // // 根据源码分析可以得出一个结论：HashMap线程是不安全的
        // Hashtable<String, String> stringStringHashtable = new Hashtable<String, String>();
        // stringStringHashtable.put()
        // HashMap 底层是如何实现的？HashMap如何解决hashCode冲突问题 HashMap 1.7与1.8之间实现有安歇区别

        // 集合Arraylist集合实现HashMap
        // Entry对象作用其实就是HashMap封装这样的键值对使用
        // MayiktArraylistMap<String, String> stringStringMayiktArraylistMap = new MayiktArraylistMap<String, String>();
        // stringStringMayiktArraylistMap.put("mayikt", "每特教育牛逼~~");
        // stringStringMayiktArraylistMap.put("mt", "蚂蚁课堂牛逼~~");
        // System.out.println(stringStringMayiktArraylistMap.get("mayikt"));

        // // 基于linkedList集合实现HashMap
        // MayiktLinkedListMap<String, String> stringStringMayiktLinkedListMap = new MayiktLinkedListMap<String,
        // String>();
        // stringStringMayiktLinkedListMap.put("a", "蚂蚁课堂牛阿~~~");
        // System.out.println(stringStringMayiktLinkedListMap.get("a"));

        // hashCode作用？
        // String a = "a"; //97
        // Integer b = new Integer(97);
        // System.out.println(a.hashCode());
        // System.out.println(b.hashCode());
        // String c = "a";
        // System.out.println(c.hashCode());
        // System.out.println(a.equals(c));
        // hashCode作用与Equals有什么区别 都是可以比较对象
        // 如果两个对象hashCode相同，但是这两个对象不一定完全相同
        // 如果使用Equals比较两个对象，如果是相同的，那么他的hashCode一定相同
        // 可以先采用判断hashCode，如果hashCode 不同 如果两个对象hashCode相同， 在使用Equals比较

        JmlLinkedListMap stringStringMayiktLinkedListMap = new JmlLinkedListMap();
        stringStringMayiktLinkedListMap.put("a", "牛逼~~");
        stringStringMayiktLinkedListMap.put(97, "牛鼻~~");
        System.out.println(stringStringMayiktLinkedListMap.get("a"));
        System.out.println();

    }
}
